{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Think Bayes: Chapter 5\n",
    "\n",
    "This notebook presents code and exercises from Think Bayes, second edition.\n",
    "\n",
    "Copyright 2016 Allen B. Downey\n",
    "\n",
    "MIT License: https://opensource.org/licenses/MIT"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from __future__ import print_function, division\n",
    "\n",
    "% matplotlib inline\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "import numpy as np\n",
    "\n",
    "from thinkbayes2 import Pmf, Cdf, Suite, Beta\n",
    "import thinkplot"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Odds\n",
    "\n",
    "The following function converts from probabilities to odds."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def Odds(p):\n",
    "    return p / (1-p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And this function converts from odds to probabilities."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def Probability(o):\n",
    "    return o / (o+1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If 20% of bettors think my horse will win, that corresponds to odds of 1:4, or 0.25."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.25"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "p = 0.2\n",
    "Odds(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If the odds against my horse are 1:5, that corresponds to a probability of 1/6."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.16666666666666669"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o = 1/5\n",
    "Probability(o)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can use the odds form of Bayes's theorem to solve the cookie problem:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.5"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prior_odds = 1\n",
    "likelihood_ratio = 0.75 / 0.5\n",
    "post_odds = prior_odds * likelihood_ratio\n",
    "post_odds"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And then we can compute the posterior probability, if desired."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.6"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "post_prob = Probability(post_odds)\n",
    "post_prob"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If we draw another cookie and it's chocolate, we can do another update:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.75"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "likelihood_ratio = 0.25 / 0.5\n",
    "post_odds *= likelihood_ratio\n",
    "post_odds"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And convert back to probability."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.42857142857142855"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "post_prob = Probability(post_odds)\n",
    "post_prob"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Oliver's blood\n",
    "\n",
    "The likelihood ratio is also useful for talking about the strength of evidence without getting bogged down talking about priors.\n",
    "\n",
    "As an example, we'll solve this problem from MacKay's {\\it Information Theory, Inference, and Learning Algorithms}:\n",
    "\n",
    "> Two people have left traces of their own blood at the scene of a crime.  A suspect, Oliver, is tested and found to have type 'O' blood.  The blood groups of the two traces are found to be of type 'O' (a common type in the local population, having frequency 60) and of type 'AB' (a rare type, with frequency 1). Do these data [the traces found at the scene] give evidence in favor of the proposition that Oliver was one of the people [who left blood at the scene]?\n",
    "\n",
    "If Oliver is\n",
    "one of the people who left blood at the crime scene, then he\n",
    "accounts for the 'O' sample, so the probability of the data\n",
    "is just the probability that a random member of the population\n",
    "has type 'AB' blood, which is 1%.\n",
    "\n",
    "If Oliver did not leave blood at the scene, then we have two\n",
    "samples to account for.  If we choose two random people from\n",
    "the population, what is the chance of finding one with type 'O'\n",
    "and one with type 'AB'?  Well, there are two ways it might happen:\n",
    "the first person we choose might have type 'O' and the second\n",
    "'AB', or the other way around.  So the total probability is\n",
    "$2 (0.6) (0.01) = 1.2$%.\n",
    "\n",
    "So the likelihood ratio is:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8333333333333334"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "like1 = 0.01\n",
    "like2 = 2 * 0.6 * 0.01\n",
    "\n",
    "likelihood_ratio = like1 / like2\n",
    "likelihood_ratio"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since the ratio is less than 1, it is evidence *against* the hypothesis that Oliver left blood at the scence.\n",
    "\n",
    "But it is weak evidence.  For example, if the prior odds were 1 (that is, 50% probability), the posterior odds would be 0.83, which corresponds to a probability of:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.45454545454545453"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "post_odds = 1 * like1 / like2\n",
    "Probability(post_odds)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So this evidence doesn't \"move the needle\" very much."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise:** Suppose other evidence had made you 90% confident of Oliver's guilt.  How much would this exculpatory evince change your beliefs?  What if you initially thought there was only a 10% chance of his guilt?\n",
    "\n",
    "Notice that evidence with the same strength has a different effect on probability, depending on where you started."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8823529411764706"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "post_odds = Odds(0.9) * like1 / like2\n",
    "Probability(post_odds)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.0847457627118644"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "post_odds = Odds(0.1) * like1 / like2\n",
    "Probability(post_odds)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Comparing distributions\n",
    "\n",
    "Let's get back to the Kim Rhode problem from Chapter 4:\n",
    "\n",
    "> At the 2016 Summer Olympics in the Women's Skeet event, Kim Rhode faced Wei Meng in the bronze medal match. They each hit 15 of 25 targets, sending the match into sudden death. In the first round, both hit 1 of 2 targets. In the next two rounds, they each hit 2 targets. Finally, in the fourth round, Rhode hit 2 and Wei hit 1, so Rhode won the bronze medal, making her the first Summer Olympian to win an individual medal at six consecutive summer games.\n",
    "\n",
    ">But after all that shooting, what is the probability that Rhode is actually a better shooter than Wei? If the same match were held again, what is the probability that Rhode would win?\n",
    "\n",
    "I'll start with a uniform distribution for `x`, the probability of hitting a target, but we should check whether the results are sensitive to that choice.\n",
    "\n",
    "First I create a Beta distribution for each of the competitors, and update it with the results."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "rhode = Beta(1, 1, label='Rhode')\n",
    "rhode.Update((22, 11))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "wei = Beta(1, 1, label='Wei')\n",
    "wei.Update((21, 12))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Based on the data, the distribution for Rhode is slightly farther right than the distribution for Wei, but there is a lot of overlap."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nMbYg/x9DVr6xKQ8dDwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd27f4cd2d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "thinkplot.Pdf(rhode.MakePmf())\n",
    "thinkplot.Pdf(wei.MakePmf())\n",
    "thinkplot.Config(xlabel='x', ylabel='Probability')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To compute the probability that Rhode actually has a higher value of `p`, there are two options:\n",
    "\n",
    "1. Sampling: we could draw random samples from the posterior distributions and compare them.\n",
    "\n",
    "2. Enumeration: we could enumerate all possible pairs of values and add up the \"probability of superiority\".\n",
    "\n",
    "I'll start with sampling.  The Beta object provides a method that draws a random value from a Beta distribution:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.611"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iters = 1000\n",
    "count = 0\n",
    "for _ in range(iters):\n",
    "    x1 = rhode.Random()\n",
    "    x2 = wei.Random()\n",
    "    if x1 > x2:\n",
    "        count += 1\n",
    "\n",
    "count / iters"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`Beta` also provides `Sample`, which returns a NumPy array, so we an perform the comparisons using array operations:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.60499999999999998"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rhode_sample = rhode.Sample(iters)\n",
    "wei_sample = wei.Sample(iters)\n",
    "np.mean(rhode_sample > wei_sample)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The other option is to make `Pmf` objects that approximate the Beta distributions, and enumerate pairs of values:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def ProbGreater(pmf1, pmf2):\n",
    "    total = 0\n",
    "    for x1, prob1 in pmf1.Items():\n",
    "        for x2, prob2 in pmf2.Items():\n",
    "            if x1 > x2:\n",
    "                total += prob1 * prob2\n",
    "    return total"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.5982856085975918"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pmf1 = rhode.MakePmf(1001)\n",
    "pmf2 = wei.MakePmf(1001)\n",
    "ProbGreater(pmf1, pmf2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.5982856085975918"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pmf1.ProbGreater(pmf2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.39831486726635074"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pmf1.ProbLess(pmf2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise:** Run this analysis again with a different prior and see how much effect it has on the results."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Simulation\n",
    "\n",
    "To make predictions about a rematch, we have two options again:\n",
    "\n",
    "1. Sampling.  For each simulated match, we draw a random value of `x` for each contestant, then simulate 25 shots and count hits.\n",
    "\n",
    "2. Computing a mixture.  If we knew `x` exactly, the distribution of hits, `k`, would be binomial.  Since we don't know `x`, the distribution of `k` is a mixture of binomials with different values of `x`.\n",
    "\n",
    "I'll do it by sampling first."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import random\n",
    "\n",
    "def flip(p):\n",
    "    return random.random() < p"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`flip` returns True with probability `p` and False with probability `1-p`\n",
    "\n",
    "Now we can simulate 1000 rematches and count wins and losses."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.549, 0.361)"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iters = 1000\n",
    "wins = 0\n",
    "losses = 0\n",
    "\n",
    "for _ in range(iters):\n",
    "    x1 = rhode.Random()\n",
    "    x2 = wei.Random()\n",
    "    \n",
    "    count1 = count2 = 0\n",
    "    for _ in range(25):\n",
    "        if flip(x1):\n",
    "            count1 += 1\n",
    "        if flip(x2):\n",
    "            count2 += 1\n",
    "            \n",
    "    if count1 > count2:\n",
    "        wins += 1\n",
    "    if count1 < count2:\n",
    "        losses += 1\n",
    "        \n",
    "wins/iters, losses/iters"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Or, realizing that the distribution of `k` is binomial, we can simplify the code using NumPy:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd27d056950>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "rhode_rematch = np.random.binomial(25, rhode_sample)\n",
    "thinkplot.Hist(Pmf(rhode_rematch))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.52600000000000002"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "wei_rematch = np.random.binomial(25, wei_sample)\n",
    "np.mean(rhode_rematch > wei_rematch)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.376"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.mean(rhode_rematch < wei_rematch)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Alternatively, we can make a mixture that represents the distribution of `k`, taking into account our uncertainty about `x`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from thinkbayes2 import MakeBinomialPmf\n",
    "\n",
    "def MakeBinomialMix(pmf, label=''):\n",
    "    mix = Pmf(label=label)\n",
    "    for x, prob in pmf.Items():\n",
    "        binom = MakeBinomialPmf(n=25, p=x)\n",
    "        for k, p in binom.Items():\n",
    "            mix[k] += prob * p\n",
    "    return mix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd27cf839d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "rhode_rematch = MakeBinomialMix(rhode.MakePmf(), label='Rhode')\n",
    "wei_rematch = MakeBinomialMix(wei.MakePmf(), label='Wei')\n",
    "thinkplot.Pdf(rhode_rematch)\n",
    "thinkplot.Pdf(wei_rematch)\n",
    "thinkplot.Config(xlabel='hits')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.52023290455545113, 0.39052602488401061)"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rhode_rematch.ProbGreater(wei_rematch), rhode_rematch.ProbLess(wei_rematch)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Alternatively, we could use MakeMixture:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from thinkbayes2 import MakeMixture\n",
    "\n",
    "def MakeBinomialMix2(pmf):\n",
    "    binomials = Pmf()\n",
    "    for x, prob in pmf.Items():\n",
    "        binom = MakeBinomialPmf(n=25, p=x)\n",
    "        binomials[binom] = prob\n",
    "    return MakeMixture(binomials)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here's how we use it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.52023290455545113, 0.39052602488401067)"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rhode_rematch = MakeBinomialMix2(rhode.MakePmf())\n",
    "wei_rematch = MakeBinomialMix2(wei.MakePmf())\n",
    "rhode_rematch.ProbGreater(wei_rematch), rhode_rematch.ProbLess(wei_rematch)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise:** Run this analysis again with a different prior and see how much effect it has on the results."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Distributions of sums and differences\n",
    "\n",
    "Suppose we want to know the total number of targets the two contestants will hit in a rematch.  There are two ways we might compute the distribution of this sum:\n",
    "\n",
    "1. Sampling: We can draw samples from the distributions and add them up.\n",
    "\n",
    "2. Enumeration: We can enumerate all possible pairs of values.\n",
    "\n",
    "I'll start with sampling:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd27cbdb790>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "iters = 1000\n",
    "pmf = Pmf()\n",
    "for _ in range(iters):\n",
    "    k = rhode_rematch.Random() + wei_rematch.Random()\n",
    "    pmf[k] += 1\n",
    "pmf.Normalize()\n",
    "thinkplot.Hist(pmf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "Or we could use `Sample` and NumPy:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd27cd2dd90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ks = rhode_rematch.Sample(iters) + wei_rematch.Sample(iters)\n",
    "pmf = Pmf(ks)\n",
    "thinkplot.Hist(pmf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "Alternatively, we could compute the distribution of the sum by enumeration:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def AddPmfs(pmf1, pmf2):\n",
    "    pmf = Pmf()\n",
    "    for v1, p1 in pmf1.Items():\n",
    "        for v2, p2 in pmf2.Items():\n",
    "            pmf[v1 + v2] += p1 * p2\n",
    "    return pmf"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "Here's how it's used:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd27cc71950>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pmf = AddPmfs(rhode_rematch, wei_rematch)\n",
    "thinkplot.Pdf(pmf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "The `Pmf` class provides a `+` operator that does the same thing."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd27c8d6f50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pmf = rhode_rematch + wei_rematch\n",
    "thinkplot.Pdf(pmf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "**Exercise:**  The Pmf class also provides the `-` operator, which computes the distribution of the difference in values from two distributions.  Use the distributions from the previous section to compute the distribution of the differential between Rhode and Wei in a rematch.  On average, how many clays should we expect Rhode to win by?  What is the probability that Rhode wins by 10 or more?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n80ziyhcAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd27c7741d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "pmf = rhode_rematch - wei_rematch\n",
    "thinkplot.Pdf(pmf)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.71428571428571175, 1, 1)"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "# On average, we expect Rhode to win by about 1 clay.\n",
    "\n",
    "pmf.Mean(), pmf.Median(), pmf.Mode()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.021355007938987394"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "# But there is, according to this model, a 2% chance that she could win by 10.\n",
    "\n",
    "sum([p for (x, p) in pmf.Items() if x >= 10])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "## Distribution of maximum\n",
    "\n",
    "Suppose Kim Rhode continues to compete in six more Olympics.  What should we expect her best result to be?\n",
    "\n",
    "Once again, there are two ways we can compute the distribution of the maximum:\n",
    "\n",
    "1. Sampling.\n",
    "\n",
    "2. Analysis of the CDF.\n",
    "\n",
    "Here's a simple version by sampling:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd27c75d450>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "iters = 1000\n",
    "pmf = Pmf()\n",
    "for _ in range(iters):\n",
    "    ks = rhode_rematch.Sample(6)\n",
    "    pmf[max(ks)] += 1\n",
    "pmf.Normalize()\n",
    "thinkplot.Hist(pmf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "And here's a version using NumPy.  I'll generate an array with 6 rows and 10 columns:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[22, 16, 17, ..., 23, 14, 18],\n",
       "       [11, 20, 21, ..., 18, 19, 16],\n",
       "       [16,  9, 16, ..., 13, 14, 19],\n",
       "       [12, 20, 15, ..., 19, 23, 17],\n",
       "       [18, 16, 17, ..., 17, 20, 14],\n",
       "       [17, 15, 19, ..., 16, 17, 12]])"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iters = 1000\n",
    "ks = rhode_rematch.Sample((6, iters))\n",
    "ks"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "Compute the maximum in each column:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([22, 20, 21, 22, 18, 23, 19, 21, 22, 21])"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "maxes = np.max(ks, axis=0)\n",
    "maxes[:10]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And then plot the distribution of maximums:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd27c77ef50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pmf = Pmf(maxes)\n",
    "thinkplot.Hist(pmf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Or we can figure it out analytically.  If the maximum is less-than-or-equal-to some value `k`, all 6 random selections must be less-than-or-equal-to `k`, so: \n",
    "\n",
    "$ CDF_{max}(x) = CDF(x)^6 $\n",
    "\n",
    "`Pmf` provides a method that computes and returns this `Cdf`, so we can compute the distribution of the maximum like this:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd27d0640d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pmf = rhode_rematch.Max(6).MakePmf()\n",
    "thinkplot.Hist(pmf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "**Exercise:**  Here's how Pmf.Max works:\n",
    "\n",
    "    def Max(self, k):\n",
    "        \"\"\"Computes the CDF of the maximum of k selections from this dist.\n",
    "\n",
    "        k: int\n",
    "\n",
    "        returns: new Cdf\n",
    "        \"\"\"\n",
    "        cdf = self.MakeCdf()\n",
    "        cdf.ps **= k\n",
    "        return cdf\n",
    "\n",
    "Write a function that takes a Pmf and an integer `n` and returns a Pmf that represents the distribution of the minimum of `k` values drawn from the given Pmf.  Use your function to compute the distribution of the minimum score Kim Rhode would be expected to shoot in six competitions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def Min(pmf, k):\n",
    "    cdf = pmf.MakeCdf()\n",
    "    cdf.ps = 1 - (1-cdf.ps)**k\n",
    "    return cdf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nyzTn4Ijo3sDeImk6IiaL7S9JivY3ZG1/Q9K3I+KxYntB0u+qtbzTtW/bY3QvBADwayKi0iS7zEx/\nTtJG2xsknZe0TVLnS/5hSZ+X9FjxIvFGRFyw/WqJvssqHABQXc/Qj4hLtqckHdFbH7uct72zdTj2\nRcS3bN9v+4dqfWTzgW59B/bTAAC66rm8AwC4fozNGbm299g+a/u/itvkqGsqw/ak7QXbJ23vGnU9\nVdl+yfZztp+xfXzU9fRie7/tC7Z/0LbvnbaP2P4f2/9h++ZR1tjNEvXX4rlve53t/7T937ZP2P5C\nsb8W479I/Q8W++sy/m+z/VTxu3rC9p5if6XxH5uZfvED/F9E/OWoaymrOPnspKR7JL2s1vsf2yKi\nNuch2P6xpA9HxOujrqUM2x+V9KakRyLig8W+r0h6LSL+vHjhfWdEfGmUdS5lifpr8dy3faukWyPi\nWds3SXparfNuHlANxr9L/X+kGoy/JNm+ISJ+Yfs3JH1X0hck/YEqjP/YzPQLdXsz9+qJaxFxUdKV\nk8/qxBq/58GSIuKYpM4XqK2Svlnc/6akTw61qAqWqF+qwXM/In5y5fIqEfGmpHlJ61ST8V+i/oni\n8NiPvyRFxC+Ku29T6z3ZUMXxH7df9inbz9r+23H9E7HDUiel1UlIOmp7zvaOURezTO+NiAtS6xdb\n0ntHXM9y1Oq5b/s3Jd0l6UlJa+s2/m31P1XsqsX4215l+xlJP5F0NCLmVHH8hxr6to/a/kHb7UTx\n9fckfV3Sb0XEXWr9QGP/p9Z14u6I+B1J90v6fLH8UHfjsWZZXq2e+8XSyD9LeqiYMXeO91iP/yL1\n12b8I+JyRHxIrb+wNtu+UxXHf6j/GD0iPl6y6d9I+rdB1tIn5yStb9teV+yrjYg4X3x9xfYhtZas\njo22qsou2F5bnBtyq6SfjrqgKiLilbbNsX7u216tVmD+fUQ8XuyuzfgvVn+dxv+KiPhf201Jk6o4\n/mOzvFMUe8XvS3p+VLVUcPXENdtr1Dr57PCIayrN9g3FrEe2b5R0r+ox7ta1a7CHJX2uuP9ZSY93\ndhgz19Rfs+f+30l6ISK+2ravTuP/a/XXZfxtv+fK0pPtt0v6uFrvS1Qa/3H69M4jaq2xXZb0kqSd\nV9apxlnx8a6v6q2Tz/5sxCWVZvt2SYfU+nNwtaRHx71+2/8gqSHp3ZIuSNoj6V8l/ZOk2ySdlvSH\nEfHGqGrsZon6P6YaPPdt3y3pO5JOqPWcCUl/Ium4pH/UmI9/l/o/pXqM/2+r9UbtquL2WET8qe13\nqcL4j03oAwAGb2yWdwAAg0foA0AihD4AJELoA0AihD4AJELoA0AihD4AJELoA0Ai/w+/hVfl6NH/\n3QAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd27c88dd10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pmf = Min(rhode_rematch, 6).MakePmf()\n",
    "thinkplot.Hist(pmf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Exercises"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "**Exercise:**  Suppose you are having a dinner party with 10 guests and 4 of them are allergic to cats.  Because you have cats, you expect 50% of the allergic guests to sneeze during dinner.  At the same time, you expect 10% of the non-allergic guests to sneeze.  What is the distribution of the total number of guests who sneeze?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd27cbb6f10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "n_allergic = 4\n",
    "n_non = 6\n",
    "p_allergic = 0.5\n",
    "p_non = 0.1\n",
    "pmf = MakeBinomialPmf(n_allergic, p_allergic) + MakeBinomialPmf(n_non, p_non)\n",
    "thinkplot.Hist(pmf)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.6000000000000014"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "pmf.Mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise** [This study from 2015](http://onlinelibrary.wiley.com/doi/10.1111/apt.13372/full) showed that many subjects diagnosed with non-celiac gluten sensitivity (NCGS) were not able to distinguish gluten flour from non-gluten flour in a blind challenge.\n",
    "\n",
    "Here is a description of the study:\n",
    "\n",
    ">\"We studied 35 non-CD subjects (31 females) that were on a gluten-free diet (GFD), in a double-blind challenge study. Participants were randomised to receive either gluten-containing ﬂour or gluten-free ﬂour for 10 days, followed by a 2-week washout period and were then crossed over. The main outcome measure was their ability to identify which ﬂour contained gluten.\n",
    ">\"The gluten-containing ﬂour was correctly identiﬁed by 12 participants (34%)...\"\n",
    "Since 12 out of 35 participants were able to identify the gluten flour, the authors conclude \"Double-blind gluten challenge induces symptom recurrence in just one-third of patients fulﬁlling the clinical diagnostic criteria for non-coeliac gluten sensitivity.\"\n",
    "\n",
    "This conclusion seems odd to me, because if none of the patients were sensitive to gluten, we would expect some of them to identify the gluten flour by chance.  So the results are consistent with the hypothesis that none of the subjects are actually gluten sensitive.\n",
    "\n",
    "We can use a Bayesian approach to interpret the results more precisely.  But first we have to make some modeling decisions.\n",
    "\n",
    "1. Of the 35 subjects, 12 identified the gluten flour based on resumption of symptoms while they were eating it.  Another 17 subjects wrongly identified the gluten-free flour based on their symptoms, and 6 subjects were unable to distinguish.  So each subject gave one of three responses.  To keep things simple I follow the authors of the study and lump together the second two groups; that is, I consider two groups: those who identified the gluten flour and those who did not.\n",
    "\n",
    "2. I assume (1) people who are actually gluten sensitive have a 95% chance of correctly identifying gluten flour under the challenge conditions, and (2) subjects who are not gluten sensitive have only a 40% chance of identifying the gluten flour by chance (and a 60% chance of either choosing the other flour or failing to distinguish).\n",
    "\n",
    "Using this model, estimate the number of study participants who are sensitive to gluten.  What is the most likely number?  What is the 95% credible interval?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution\n",
    "\n",
    "# Here's a class that models the study\n",
    "\n",
    "class Gluten(Suite):\n",
    "    \n",
    "    def Likelihood(self, data, hypo):\n",
    "        \"\"\"Computes the probability of the data under the hypothesis.\n",
    "        \n",
    "        data: tuple of (number who identified, number who did not)\n",
    "        hypothesis: number of participants who are gluten sensitive\n",
    "        \"\"\"\n",
    "        # compute the number who are gluten sensitive, `gs`, and\n",
    "        # the number who are not, `ngs`\n",
    "        gs = hypo\n",
    "        yes, no = data\n",
    "        n = yes + no\n",
    "        ngs = n - gs\n",
    "        \n",
    "        pmf1 = MakeBinomialPmf(gs, 0.95)\n",
    "        pmf2 = MakeBinomialPmf(ngs, 0.4)\n",
    "        pmf = pmf1 + pmf2\n",
    "        return pmf[yes]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd27c899d90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "prior = Gluten(range(0, 35+1))\n",
    "thinkplot.Pdf(prior)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.013207615690597462"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "posterior = prior.Copy()\n",
    "data = 12, 23\n",
    "posterior.Update(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nSUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd27c9296d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "thinkplot.Pdf(posterior)\n",
    "thinkplot.Config(xlabel='# who are gluten sensitive', \n",
    "                 ylabel='PMF', legend=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0, 8)"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "posterior.CredibleInterval(95)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise** Coming soon: the space invaders problem."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution\n",
    "    \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution\n",
    "    \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution\n",
    "    \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution\n",
    "    \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution\n",
    "    \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Solution\n",
    "    \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Solution\n",
    "    \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
